﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="TargetSystem.cs" company="Elilink">
//   Defor
// </copyright>
// <summary>
//   Class for joining <see cref="DeployableProject" /> by build configuration
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace BusinessLayer.Objects
{
    using System.Collections.Generic;

    /// <summary>
    ///     Class for joining <see cref="DeployableProject" /> by build configuration
    /// </summary>
    public class TargetSystem
    {
        #region Constructors and Destructors

        /// <summary>
        ///     Initializes a new instance of the <see cref="TargetSystem" /> class.
        /// </summary>
        public TargetSystem()
        {
            // ReSharper disable once DoNotCallOverridableMethodsInConstructor
            DeployableProjects = new List<DeployableProject>();
        }

        #endregion

        #region Public Properties

        /// <summary>
        ///     Gets or sets the build configuration name.
        /// </summary>
        public string BuildConfiguration { get; set; }

        /// <summary>
        ///     Gets or sets the name of the target system. Is used as Primary Key on interactions.
        /// </summary>
        public string TargetSystemName { get; set; }

        /// <summary>
        ///     Gets or sets the navigation property to array of <see cref="DeployableProject" />.
        /// </summary>
        public virtual List<DeployableProject> DeployableProjects { get; set; }

        #endregion
    }
}